package logica.partidas;

import java.io.Serializable;
import java.util.Iterator;
import java.util.LinkedList;

import logica.peliculas.Pelicula;
import ValueObjects.VOPartida;
import ValueObjects.VOPelicula;

public class Partidas implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private LinkedList<Partida> listaPartidas;	
	
	 public Partidas(){
		 listaPartidas=new LinkedList<Partida>();
	 }
	 
	 public void insBack(Partida partida){
		 listaPartidas.addLast(partida);
	 }
	 
	 public Partida ultimaPartidaJugada(){ //modificado
		 Partida e =null;
		 if(listaPartidas.isEmpty()){
			 e = new Partida();
		 	 e.setFinalizada(true);
		 }else{
			 e = listaPartidas.getLast();
		 }
		 return e;
	 }
	 
	 public int cantidadPartidas(){
		 return listaPartidas.size();
	 }
	 
	 public VOPartida[] listarPartidas(){
		 
		 VOPartida[] data = null;
			
			Iterator<Partida> iter = this.listaPartidas.iterator();
			data = new VOPartida[this.listaPartidas.size()];
			int posicion = 0;
			
			while(iter.hasNext()){
				Partida vp = iter.next();
				VOPartida dvp = new VOPartida(vp.getIdPartida(), vp.getPuntaje(), vp.getEstaFinalizada(), vp.getEstaAcertada(),vp.getTextoAdivinado(),new VOPelicula(vp.getPelicula().getTitulo(), vp.getPelicula().getDescripcion()) );
				data[posicion] = dvp;
				posicion++;			
			}
			
			return data;
		 

	 }
	 	 
}
